// 断言的使用场景:
// 1. 将联合类型断言成其中的某个类型
// interface Cat {
//   name: string
//   run(): void
// }
// interface Fish {
//   name: string
//   swim(): void
// }
// function getName(animal: Cat | Fish) {
//   return (animal as Fish).swim()
// }
// 2. 将父类断言成子类
// class ApiError extends Error {
//   code: number = 0
// }
// class HttpError extends Error {
//   statusCode: number = 200
// }
// function isApiError(error: Error) {
//   if (typeof (error as ApiError).code === 'number') {
//     return true
//   }
//   return false
// }
// 3. 将任何类型断言为any
;
window.foo = 1;
